#include <iostream>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
using namespace std;

void test()
{
	set<int> s1({ 5,2,6,3,4,8,1,9,7 });
	map<int, int>m1;
	m1.insert({ 5,5 });
	m1.insert({ 2,2 });
	m1.insert({ 1,1 });
	m1.insert({ 4,4 });
	m1.insert({ 3,3 });

	for (auto e : s1)
	{
		cout << e << " ";
	}
	cout << endl;
	for (auto e : m1)
	{
		cout << e.first << ":" << e.second << " ";
	}
	cout << endl << endl;

	unordered_set<int> s2({ 5,2,6,3,4,8,1,9,7 });
	unordered_map<int, int>m2;
	m2.insert({ 5,5 });
	m2.insert({ 2,2 });
	m2.insert({ 1,1 });
	m2.insert({ 4,4 });
	m2.insert({ 3,3 });

	for (auto e : s2)
	{
		cout << e << " ";
	}
	cout << endl;
	for (auto e : m2)
	{
		cout << e.first << ":" << e.second << " ";
	}
	cout << endl;
}

int main()
{
	test();
	return 0;
}